/**
 * @Description:自定义导航 API
 * @Author: zqy
 * @Date: 2023-08-25 14:01:47
 * @Last Modified by: zqy
 * @Last Modified time: 2023-09-19 10:30:56
 * */

import request from '@/utils/request'
import { json2FormData } from '@/utils'

/**
 * 获取首页类型的导航（只会有1条此类型的数据）
 */
export const getHomePageTabDefine = async(data) => {
  const res = await request({
    url: `/api/v1/v2TabDefine/getHomePageTabDefine`,
    method: 'get'
  })
  return res && res.data || ''
}

/**
 * 保存自定义导航
 * @param {string} id
 * @param {string} name  名称
 * @param {number} type  类型（首页导航：0，自定义导航：1，分类：2，目录：3）
 * @param {number} showLevel  层级 （1/2/3）
 * @param {string} iconPicUrl 图标
 * @param {number} enableFlag 是否启用 (1 启用 ， 0 停用)
 */
export function saveTabDefine(data) {
  return request({
    url: `/api/v1/v2TabDefine`,
    method: data.id ? 'put' : 'post',
    data
  })
}

/**
 * 删除
 * @param {string} id
 */
export function delTabDefine(id) {
  return request({
    url: `/api/v1/v2TabDefine/${id}`,
    method: 'delete'
  })
}

/**
 * 更新状态
 * @param {String} id
 * @param {number} state (停用 0 ， 启用 1)
 */
export function updatState({ id, state }) {
  return request({
    url: `/api/v1/v2TabDefine`,
    method: 'PUT',
    data: { id, enableFlag: state }
  })
}

/**
 * 查询详情
 * @param {string} id
 */
export function getDetail(id) {
  return request({
    url: `/api/v1/v2TabDefine/${id}`,
    method: 'get'
  })
}

/**
 * 目录关联帮助中心-新增
 * @param {string} helpContentId 帮助中心内容ID
 * @param {string} tabConfId 目录配置ID
 */
export function saveHelpCenterContent(data) {
  return request({
    url: `/api/v1/v2RefTabConfHelpCenterContent`,
    method: data.id ? 'PUT' : 'post',
    data
  })
}

/**
 * 目录关联帮助中心-批量新增
 * @param {Array} data [{helpContentId,tabConfId},..]
 * @param {string} helpContentId 帮助中心内容ID
 * @param {string} tabConfId 目录配置ID
 */
export function batchCreateContent(data) {
  return request({
    url: `/api/v1/v2RefTabConfHelpCenterContent/batchCreate`,
    method: 'post',
    data
  })
}

/**
 * 目录关联帮助中心-删除关联
 * @param {string} id
 */
export function delHelpCenterContent(id) {
  return request({
    url: `/api/v1/v2RefTabConfHelpCenterContent/${id}`,
    method: 'DELETE'
  })
}

/**
 * 更新排序
 * @param {String} id
 * @param {String} type  移动类型(bottom 置底 ，top 置顶 ， moveDown 下移 ，  moveUp 上移)
 */
export function updateHelpCenterContentSort({ id, type }) {
  return request({
    url: `/api/v1/v2RefTabConfHelpCenterContent/${type}`,
    method: 'get',
    params: { id }
  })
}
